Menu = function(){
	return {
		
		initTree : function() {
			$("#menuTree").treegrid({
				url          : '/pc/menu/tree.htm',
				idField      : 'id',
			    treeField    : 'text',
			    animate      : true,
			    striped      : true,
			    fit          : true,
			    fitColumns   : true,
			    checkbox     : true,
			    nowrap       : false, //内容不换行
        		rownumbers   : true, //行号
        		singleSelect : false,
			    columns      : [[
			         { field : 'id',               title : '菜单ID',        width : 100,      checkbox : true },
			         { field : 'text',             title : '菜单名称',      width : 150 },
			         { field : 'path',             title : '菜单路径',      width : 150 },
			         { field : 'companyName',      title : '所属公司',      width : 100 }
			    ]],
			    toolbar      : [{
					text     : '添加',
					iconCls  : 'add',
					handler  : function() {
						var row = $('#menuTree').treegrid('getSelections');
						if(row.length > 1) {
							Ict.info("只能选择一个菜单!");
							return;
						} else {
							Ict.openWin("新增菜单", 450, 300, "/pc/menu/add.htm");
						}
					}
				}, {
					text     : '修改',
					iconCls  : 'edit',
					handler  : function() {
						var row = $('#menuTree').treegrid('getSelections');
						if (0 == row.length) {
							Ict.info("请选择你要修改的菜单!");
							return;
						} else if (row.length > 1) {
							Ict.info("请选择一条记录进行修改!");
							return;
						} else if (1 == row.length) {
							Ict.openWin("修改菜单信息", 450, 300, "/pc/menu/edit.htm?menuId=" + row[0].id);
						}
					}
				}, {
					text     : '查看',
					iconCls  : 'detail',
					handler  : function() {
						var row = $('#menuTree').treegrid('getSelections');
						if (0 == row.length) {
							Ict.info("请选择你要查看的菜单!");
							return;
						} else if (row.length > 1) {
							Ict.info("请选择一条记录进行查看!");
							return;
						} else if (1 == row.length) {
							Ict.openWin("查看菜单", 450, 300, "/pc/menu/detail.htm?menuId=" + row[0].id);
						}
					}
				}, {
					text     : '删除',
					iconCls  : 'remove',
					handler  : function() {
						Menu.remove();
					}
				}, {
					text     : '刷新',
					iconCls  : 'reload',
					handler  : function() {
						$('#menuTree').treegrid('reload');
					}
				}, {
					text     : '全部展开',
					iconCls  : 'expand',
					handler  : function() {
						$('#menuTree').treegrid('expandAll');
					}
				}, {
					text     : '全部收起',
					iconCls  : 'collapse',
					handler  : function() {
						$('#menuTree').treegrid('collapseAll');
					}
				}]
			});
		},
		
		/**
		 * 在toolbar上面添加搜索框.
		 */
		addSearchBox : function(width) {
			$('.searchbox').css({'width': width+'px'});
			$('.searchbox-text').css({'width': eval(width-20)+'px'});
			$('.datagrid-toolbar').append($('.serarchbox'));
			$('.datagrid-toolbar').append($('#toolbar'));
		},
		
		doSearch : function(value) {
			if("" == $.trim(value)) {
				Ict.info("请输入查询条件!");
				return;
			}
			$.ajax({
				url     : '/pc/menu/search.htm',
				type    : 'POST',
				data    : {
					"menuName" : value
				},
				success : function(data) {
					$("#menuTree").treegrid('unselectAll');
					for(var i = 0; i < data.length; i++) {
						$("#menuTree").treegrid('select', data[i].menu_id);
					}
				}
			});
		},
		
		remove : function() {
			var rows = $('#menuTree').treegrid('getSelections');
			if(0 == rows.length) {
				Ict.info("请选择你要删除的菜单!");
				return;
			} else {
				for(var i = 0; i < rows.length; i++) {
					if("N" == rows[i].isLeaf) {
						Ict.info("请先删除子菜单!");
						return;
					}
				}
				var menuIds = "";
				for(var i = 0; i < rows.length; i++) {
					menuIds += rows[i].id + ",";
				}
				menuIds = menuIds.substring(0, menuIds.length - 1);
				Ict.confirm('确定要删除选中的菜单吗?', function(btn) {
					if(btn) {
						$.post('/pc/menu/delete.htm', {'menuIds' : menuIds}, function(data) {
							if("SUCCESS" == data) {
								$('#menuTree').treegrid('reload');
								Ict.info("删除成功!");
							} else {
								Ict.info("删除失败!");
							}
						});
					}
				});
			}
		},
		
		init : function() {
			Menu.initTree();
			Menu.addSearchBox(250);
		}
	};
}();

$(function(){
	Menu.init();
});